﻿// -----------------------------------------------------------------------
// <copyright file="CacheItemPrioritySection.cs" company="EPAM Systems">
////Copyright (c) EPAM Systems. All rights reserved.
// </copyright>
// -----------------------------------------------------------------------

namespace Epam.PhotoGallery.Bussines.Configuration
{
	using System;
	using System.Collections.Generic;
	using System.Linq;
	using System.Text;
	using System.Configuration;

	/// <summary>
	/// TODO: Update summary.
	/// </summary>
	public class CacheItemPrioritySection : ConfigurationSection
	{
		#region Constants

		/// <summary>
		/// string RepositorySectionName
		/// </summary>
		public const string Name = "CacheItemPriority";

		#endregion

		/// <summary>
		/// Gets or sets the storage time.
		/// </summary>
		/// <value>
		/// The storage time.
		/// </value>
		[ConfigurationProperty("storageTime", IsRequired = false)]
		public int StorageTime
		{
			get
			{
				return (int)this["storageTime"];
			}
			set
			{
				this["storageTime"] = value;
			}
		}

		/// <summary>
		/// Gets or sets the minimum counters.
		/// </summary>
		/// <value>
		/// The minimum counters.
		/// </value>
		[ConfigurationProperty("minCounter", IsRequired = false)]
		public int MinCounter
		{
			get
			{
				return (int)this["minCounter"];
			}
			set
			{
				this["minCounter"] = value;
			}
		}

		/// <summary>
		/// Gets or sets the high.
		/// </summary>
		/// <value>
		/// The high.
		/// </value>
		[ConfigurationProperty("High", IsRequired = false)]
		public int High
		{
			get
			{
				return (int)this["High"];
			}
			set
			{
				this["High"] = value;
			}
		}

		/// <summary>
		/// Gets or sets the normal.
		/// </summary>
		/// <value>
		/// The normal.
		/// </value>
		[ConfigurationProperty("Normal", IsRequired = false)]
		public int Normal
		{
			get
			{
				return (int)this["Normal"];
			}
			set
			{
				this["Normal"] = value;
			}
		}

		/// <summary>
		/// Gets or sets the low.
		/// </summary>
		/// <value>
		/// The low.
		/// </value>
		[ConfigurationProperty("Low", IsRequired = false)]
		public int Low
		{
			get
			{
				return (int)this["Low"];
			}
			set
			{
				this["Low"] = value;
			}
		}

		/// <summary>
		/// Gets or sets the waiting time.
		/// </summary>
		/// <value>
		/// The waiting time.
		/// </value>
		[ConfigurationProperty("WaitingTime", IsRequired = false)]
		public int WaitingTime
		{
			get
			{
				return (int)this["WaitingTime"];
			}
			set
			{
				this["WaitingTime"] = value;
			}
		}
	}
}
